<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>Document</title>
    </head>
    <body>
        <script src="./jquery/jquery.min.js"></script>

        <script>
            
            $.ajax({
                url: "./server/ajaxPost.php",

                // 请求方法
                type:"post",

                // 请求参数 支持字符串和对象
                // data:{a:1,b:2},
                data:"&a=1&b=2",

                // 成功回调 参数不需要死记 IDE有提示 查文档
                success:function(data,status,xhr){
                    console.log(data);
                },

                // 失败回调 err 失败的信息
                error:function(xhr,status,err){
                    console.log(status);
                    console.log(err);
                },

                // 用户想要的数据类型 框架会对返回数据做相应的解析
                // json text html xml ...
                dataType:"json",

                // 上下文 默认是jQuery/$对象
                // 如果你指定了具体的DOM元素 则可以在回调中绑定this为该DOM(从而用返回的数据渲染该DOM)
                context: document.body,

                // 默认false 通过在请求参数的末尾加"_=时间戳" 让URL每次都不同 从而杜绝浏览器的默认缓存行为
                // 可以在合适的场景下设置为true 以减轻服务器的压力
                cache:false,

                // 默认为true 为false代表同步 浏览器会锁死直到数据返回 同步的方式已经被废弃
                async:true,

                // 设置请求超时时间 此时失败回调中的err会为timeout
                timeout:1000,
            }).done(function () {
                // $(this).addClass("done");
                console.log($(this));
            });

            console.log($);
        </script>
    </body>
</html>
